草庐IT

pointers - Golang 指针

全部标签

api - GoLang, slice 读出错误

我是GoLang的新手,我需要一些帮助。我正在制作简单的API应用程序。通过API将结构传递给slice如下所示:typeStructstruct{//somerecords}varstructs[]Struct//slicefuncSetStruct(whttp.ResponseWriter,req*http.Request){varstStructdecoder:=json.NewDecoder(req.Body)decoder.Decode(&st)emails=append(structs,st)json.NewEncoder(w).Encode(structs)}而且该功能工

go - 指针引用未存储在我的 go 程序中的结构中

我是go-lang的新手,我试图弄清楚如何正确地使用结构和依赖注入(inject)。我有点卡住了,因为我无法正确存储对另一个结构的引用。这是我生成CommandController的方法。存在对iris.Application的有效引用。funcProvideCommandController(application*iris.Application,commandRepositorycommand.CommandRepository)(*interfaces.CommandController,error){commandController:=interfaces.CommandC

javascript - golang javascript对象等效

在Javascript中,我们可以这样创建对象:varcar={type:"Fiat",model:"500",color:"white"};所以如果我们想打印汽车的模型,那么我们在控制台中这样做:console.log(car.model);或console.log(car['model']);然后,我们将得到:"500"Golang有没有类似JavascriptObjects的东西?或者我该如何处理这个解决方案? 最佳答案 Golang是一种静态类型语言,因此通常您会提前定义数据类型,指定字段类型等,以便编译器为您检查类型不匹配

pointers - 您可以将多个值中的部分或全部作为函数的指针返回吗?

在使用Go时,我遇到了各种错误,试图在返回另一个值的同时返回一个字符串作为指针。像这样的东西(请原谅这不是运行代码,我只是写它来了解我想做什么,因为我不知道如何让它工作):funcA(sstring)*string,int{//Stuffreturn&a,b}*c,d:=A("Hithere.")当我尝试各种组合say时,将字符串(var.a)作为指针返回时,我遇到了各种错误。这很简单,有许多返回单个变量的示例,但我不确定是否可以使用多个返回值。抱歉,如果这看起来是一个非常基本的问题,我仍然在思考Go。 最佳答案 如前所述here在

pointers - Golang 中无效的内存地址

我已经检查了其他几个答案,他们给了我一些关于如何解决这个问题的好想法,但我还是想不通。localID:=generateGenericID("local")//typeint64localName:="local"//typestring//setthemtopointersasIneedthemastype*int64and*stringplocalID:=&localIDplocalName:=&localName//createapointertoanewgithuborgvarorg*github.Organization//createanewgeneralpurposeor

pointers - 如何使用反射获取字符串指针的变量名?

我想通过反射获取字段名称的名称。我将字符串作为指针传递,然后我想在函数中检索变量名称。typeFooBarstruct{foo*string}funcbar(s*string){varnamestring//TODO:Getnameofthefieldthatsispointingto!fmt.Println("Expectedstringisfoo:"+name)}funcmain(){f:=Foo{"bar"}bar(f.s)}我尝试通过以下方式获取s的值val:=reflect.ValueOf(s)然后我无法获取变量名。我应该提到我的结构中有多个字段,我事先不知道哪个字段有问题。

go - 告诉我这段代码 GOLANG 有什么问题

packagemainimport("fmt""math")funcmain(){distencecalc()}funcdistencecalc(){fmt.Println("X1:")varx1float64fmt.Scanf("%f",&x1)fmt.Print("")fmt.Println("Y1:")vary1float64fmt.Scanf("%f",&y1)fmt.Print("")fmt.Println("Z1:")varz1float64fmt.Scanf("%f",&z1)fmt.Print("")fmt.Println("X2:")varx2float64fmt.S

go - 在 Golang 中划分时间.Duration

目前,Go中的time包没有'divide'函数或类似的东西。您可以将time.Duration除以其他值,但这需要相当多的转换。是否有任何简单/明显的方法来划分time.Duration通过Go中我没有看到的东西?(我知道你可以除以一个数字常量,但我需要在动态的基础上进行。)我计划提交一个问题/功能请求以将基本的“除”功能添加到time包,但我想先在这里问一下,以防我错过了一些简单的方法来进行这种除法。 最佳答案 Packagetimeimport"time"ThereisnodefinitionforunitsofDayorla

pointers - 函数指针参数变化

我正在尝试编写一些使用指针参数更改结构片段的函数。我在GoPlayground中用这种类型的代码做了一些Playground,我发现我有一些错误,但我不知道什么是管理它的最佳方法packagemainimport"fmt"typePersonstruct{namestring}funcdoSomething(person*Person){person.name="John"}funcmain(){varpersons[]Personp:=Person{name:"David"}persons=append(persons,p)doSomething(&p)fmt.Println(per

arrays - Golang 将字符串打印为字节数组

将字符串打印为字节数组的fmt代码是什么?如果我有一个编码的json对象,我可以像这样打印字节:typeFakejsstruct{Fakestring`json:"fake"`}fjs:=Fakejs{Fake:"abc"}mjs,err:=json.Marshal(fjs)fmt.Println(mjs)生产[123341029710710134583497989934125]这就是我想要的。但是,对于常规字符串,我尝试这样做:mystr:="{\"fake\":\"abc\"}"fmt.Printf("mystr:\t%x\n",[]byte(mystr))这会产生:7b22666